summaryrefslogtreecommitdiffstats
path: root/.github/workflows/android-build.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/android-build.yml')
-rw-r--r--.github/workflows/android-build.yml79
1 files changed, 79 insertions, 0 deletions
diff --git a/.github/workflows/android-build.yml b/.github/workflows/android-build.yml
new file mode 100644
index 000000000..e639e965a
--- /dev/null
+++ b/.github/workflows/android-build.yml
@@ -0,0 +1,79 @@
+# SPDX-FileCopyrightText: 2022 yuzu Emulator Project
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+name: 'yuzu-android-build'
+
+on:
+ push:
+ tags: [ "*" ]
+
+jobs:
+ android:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ submodules: recursive
+ fetch-depth: 0
+ - name: Set up JDK 17
+ uses: actions/setup-java@v3
+ with:
+ java-version: '17'
+ distribution: 'temurin'
+ - name: Set up cache
+ uses: actions/cache@v3
+ with:
+ path: |
+ ~/.gradle/caches
+ ~/.gradle/wrapper
+ ~/.ccache
+ key: ${{ runner.os }}-android-${{ github.sha }}
+ restore-keys: |
+ ${{ runner.os }}-android-
+ - name: Query tag name
+ uses: olegtarasov/get-tag@v2.1.2
+ id: tagName
+ - name: Install dependencies
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y ccache apksigner glslang-dev glslang-tools
+ - name: Build
+ run: ./.ci/scripts/android/build.sh
+ - name: Copy and sign artifacts
+ env:
+ ANDROID_KEYSTORE_B64: ${{ secrets.ANDROID_KEYSTORE_B64 }}
+ ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }}
+ ANDROID_KEYSTORE_PASS: ${{ secrets.ANDROID_KEYSTORE_PASS }}
+ run: ./.ci/scripts/android/upload.sh
+ - name: Upload
+ uses: actions/upload-artifact@v3
+ with:
+ name: android
+ path: artifacts/
+ # release steps
+ release-android:
+ runs-on: ubuntu-latest
+ needs: [android]
+ if: ${{ startsWith(github.ref, 'refs/tags/') }}
+ permissions:
+ contents: write
+ steps:
+ - uses: actions/download-artifact@v3
+ - name: Query tag name
+ uses: olegtarasov/get-tag@v2.1.2
+ id: tagName
+ - name: Create release
+ uses: actions/create-release@v1
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ with:
+ tag_name: ${{ steps.tagName.outputs.tag }}
+ release_name: ${{ steps.tagName.outputs.tag }}
+ draft: false
+ prerelease: false
+ - name: Upload artifacts
+ uses: alexellis/upload-assets@0.2.3
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ with:
+ asset_paths: '["./**/*.apk","./**/*.aab"]'